/**
 */
package org.mro.grib.model.files.secondEdition.grids;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

import org.eclipse.emf.common.util.Enumerator;

/**
 * <!-- begin-user-doc -->
 * A representation of the literals of the enumeration '<em><b>Interpretation Of List Of Numbers At End Of Section3</b></em>',
 * and utility methods for working with them.
 * <!-- end-user-doc -->
 * @see org.mro.grib.model.files.secondEdition.grids.GridsPackage#getInterpretationOfListOfNumbersAtEndOfSection3()
 * @model annotation="http://www.eclipse.org/emf/2002/GenModel description_en='Code table 3.11 \u2013 Interpretation of list of numbers at end of section 3' note_1_en='For entry 1, it should be noted that depending on values of extreme (first/last) coordinates, and regardless of\r\nbit-map, effective number of points per row may be less than the number of points on the current circle.' note_2_en='The value for the constant direction increment Di (or Dx) in the accompanying Grid definition template should be\r\nset to all ones (missing).'"
 * @generated
 */
public enum InterpretationOfListOfNumbersAtEndOfSection3 implements Enumerator {
	/**
	 * The '<em><b>NO APPENDED LIST</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #NO_APPENDED_LIST_VALUE
	 * @generated
	 * @ordered
	 */
	NO_APPENDED_LIST(0, "NO_APPENDED_LIST", "NO_APPENDED_LIST"), //$NON-NLS-1$ //$NON-NLS-2$

	/**
	 * The '<em><b>FULL COORDINATE CIRCLES</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #FULL_COORDINATE_CIRCLES_VALUE
	 * @generated
	 * @ordered
	 */
	FULL_COORDINATE_CIRCLES(1, "FULL_COORDINATE_CIRCLES", "FULL_COORDINATE_CIRCLES"), //$NON-NLS-1$ //$NON-NLS-2$

	/**
	 * The '<em><b>COORDINATE LINES</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #COORDINATE_LINES_VALUE
	 * @generated
	 * @ordered
	 */
	COORDINATE_LINES(2, "COORDINATE_LINES", "COORDINATE_LINES"), //$NON-NLS-1$ //$NON-NLS-2$

	/**
	 * The '<em><b>ACTUAL LATITUDES FOR EACH ROW</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #ACTUAL_LATITUDES_FOR_EACH_ROW_VALUE
	 * @generated
	 * @ordered
	 */
	ACTUAL_LATITUDES_FOR_EACH_ROW(3, "ACTUAL_LATITUDES_FOR_EACH_ROW", "ACTUAL_LATITUDES_FOR_EACH_ROW"), //$NON-NLS-1$ //$NON-NLS-2$

	/**
	 * The '<em><b>MISSING</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #MISSING_VALUE
	 * @generated
	 * @ordered
	 */
	MISSING(255, "MISSING", "MISSING"); //$NON-NLS-1$ //$NON-NLS-2$

	/**
	 * The '<em><b>NO APPENDED LIST</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>NO APPENDED LIST</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #NO_APPENDED_LIST
	 * @model annotation="http://www.eclipse.org/emf/2002/GenModel description_en='There is no appended list'"
	 * @generated
	 * @ordered
	 */
	public static final int NO_APPENDED_LIST_VALUE = 0;

	/**
	 * The '<em><b>FULL COORDINATE CIRCLES</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>FULL COORDINATE CIRCLES</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #FULL_COORDINATE_CIRCLES
	 * @model annotation="http://www.eclipse.org/emf/2002/GenModel description_en='Numbers define number of points corresponding to full coordinate circles (i.e. parallels), \r\ncoordinate values on each circle are multiple of the circle mesh, and extreme coordinate \r\nvalues given in grid definition (i.e. extreme longitudes) may not be reached in all rows'"
	 * @generated
	 * @ordered
	 */
	public static final int FULL_COORDINATE_CIRCLES_VALUE = 1;

	/**
	 * The '<em><b>COORDINATE LINES</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>COORDINATE LINES</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #COORDINATE_LINES
	 * @model annotation="http://www.eclipse.org/emf/2002/GenModel description_en='Numbers define number of points corresponding to coordinate lines delimited by \r\nextreme coordinate values given in grid definition (i.e. extreme longitudes) which \r\nare present in each row'"
	 * @generated
	 * @ordered
	 */
	public static final int COORDINATE_LINES_VALUE = 2;

	/**
	 * The '<em><b>ACTUAL LATITUDES FOR EACH ROW</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>ACTUAL LATITUDES FOR EACH ROW</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #ACTUAL_LATITUDES_FOR_EACH_ROW
	 * @model annotation="http://www.eclipse.org/emf/2002/GenModel description_en='Numbers define the actual latitudes for each row in the grid. The list of \r\nnumbers are integer values of the valid latitudes in microdegrees (scaled by 10\u20136) or\r\nin unit equal to the ratio of the basic angle and the subdivisions number for each row, \r\nin the same order as specified in the \"scanning mode flag\" (bit no. 2) (see Note 2).'"
	 * @generated
	 * @ordered
	 */
	public static final int ACTUAL_LATITUDES_FOR_EACH_ROW_VALUE = 3;

	/**
	 * The '<em><b>MISSING</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>MISSING</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #MISSING
	 * @model annotation="http://www.eclipse.org/emf/2002/GenModel description_en='Missing'"
	 * @generated
	 * @ordered
	 */
	public static final int MISSING_VALUE = 255;

	/**
	 * An array of all the '<em><b>Interpretation Of List Of Numbers At End Of Section3</b></em>' enumerators.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private static final InterpretationOfListOfNumbersAtEndOfSection3[] VALUES_ARRAY =
		new InterpretationOfListOfNumbersAtEndOfSection3[] {
			NO_APPENDED_LIST,
			FULL_COORDINATE_CIRCLES,
			COORDINATE_LINES,
			ACTUAL_LATITUDES_FOR_EACH_ROW,
			MISSING,
		};

	/**
	 * A public read-only list of all the '<em><b>Interpretation Of List Of Numbers At End Of Section3</b></em>' enumerators.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static final List<InterpretationOfListOfNumbersAtEndOfSection3> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));

	/**
	 * Returns the '<em><b>Interpretation Of List Of Numbers At End Of Section3</b></em>' literal with the specified literal value.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static InterpretationOfListOfNumbersAtEndOfSection3 get(String literal) {
		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
			InterpretationOfListOfNumbersAtEndOfSection3 result = VALUES_ARRAY[i];
			if (result.toString().equals(literal)) {
				return result;
			}
		}
		return null;
	}

	/**
	 * Returns the '<em><b>Interpretation Of List Of Numbers At End Of Section3</b></em>' literal with the specified name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static InterpretationOfListOfNumbersAtEndOfSection3 getByName(String name) {
		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
			InterpretationOfListOfNumbersAtEndOfSection3 result = VALUES_ARRAY[i];
			if (result.getName().equals(name)) {
				return result;
			}
		}
		return null;
	}

	/**
	 * Returns the '<em><b>Interpretation Of List Of Numbers At End Of Section3</b></em>' literal with the specified integer value.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static InterpretationOfListOfNumbersAtEndOfSection3 get(int value) {
		switch (value) {
			case NO_APPENDED_LIST_VALUE: return NO_APPENDED_LIST;
			case FULL_COORDINATE_CIRCLES_VALUE: return FULL_COORDINATE_CIRCLES;
			case COORDINATE_LINES_VALUE: return COORDINATE_LINES;
			case ACTUAL_LATITUDES_FOR_EACH_ROW_VALUE: return ACTUAL_LATITUDES_FOR_EACH_ROW;
			case MISSING_VALUE: return MISSING;
		}
		return null;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private final int value;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private final String name;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private final String literal;

	/**
	 * Only this class can construct instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private InterpretationOfListOfNumbersAtEndOfSection3(int value, String name, String literal) {
		this.value = value;
		this.name = name;
		this.literal = literal;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public int getValue() {
	  return value;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String getName() {
	  return name;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String getLiteral() {
	  return literal;
	}

	/**
	 * Returns the literal value of the enumerator, which is its string representation.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public String toString() {
		return literal;
	}
	
} //InterpretationOfListOfNumbersAtEndOfSection3
